#pragma once
#include "../../Headers/types.h"
#include "../../Headers/config.h"
#include "../../NS/nameserver.h"

#ifndef CONFIG
#define CONFIG ("gui-client.cfg")
#endif

namespace TOB {
  typedef struct {
    Config &config;
    Config &lang;
    Config &ws_code;
    Nameserver &ns;
    Nameserver::IP nsip;
    uint16 offsetX, offsetY;
    std::string username;
    std::string password;
  } UIConfig;

  class Mod {
   public:
    Mod(UIConfig &c): config(c) {}
    virtual void run() {}

   protected:
    UIConfig &config;
  };
}
